-
-
Notifications
You must be signed in to change notification settings - Fork 200
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix server installer #68
Fix server installer #68
Conversation
While this PR gets most of the way there to getting the dedicated server running, an issue is still present which blocks the server from running on Windows: the FancyModLoader language providers aren't getting discovered by FML, leading to a crash as the In brief, I've determined the root cause to be the use of However, the legacy classpath is always written using I'm currently in the process of testing a fix in FancyModLoader for this. The PR author has consented to me or another maintainer updating this PR with the new FML version once that has been tested, merged, and published. |
Fixes an issue where the language providers couldn't be discovered properly, causing a crash.
I've updated this PR with the version bump for FancyModLoader, as said above. I've tested the change locally, and it works -- the dedicated server now boots up fully. |
This looks like the wrong solution to the problem. If I understand correctly, you basically fixed it by forcing all the modules into the legacy classpath instead. a COMPLETELY incorrect solution. |
It's the same solution the other launch setups I looked at (userdev server+client, prod client) use, so I assumed that it was the correct one. If this PR is not usable please close it, I will not be able to work on this for the next 1.5 weeks. |
Please do not merge this in the current state or anything like it. this looks completely wrong. I will be investigating tomorrow. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not the solution. There's a bigger picture issue.
I can say at the very least that duplicating the artifacts from the |
…se that breaks client. Should be merging the LayerLibraries into the CLASS_PATH for discovery by BSL
OK. The fundamentals were correct - i was misinterpreting the classpath discussion. However, you can't futz with the installer configuration, because that breaks the client. You have to fix the server install to merge the LayerLibrary files into the CLASS_PATH, as well as fixing the ignore. |
net.neoforged.fancymodloader:loader
is already aninstaller
dependency, so adding it explicitly causes the "duplicate key" error (first commit).Missing language javafml version [24,] wanted by forge-1.20.1-47.1.57-universal.jar
. This can be fixed by adding the corresponding JARs to thelegacyClasspath
by making theminstaller
dependencies (second commit); I do not understand the NF launch process well enough to say whether this is the "right" fix or just a workaround though. On the client all of these jars are passed in the "real" classpath (-cp
), which I assume has a similar effect.Module fml_language_java reads more than one module named fml_core
, which can be fixed by addingpluginLayerLibrary
andgameLayerLibrary
dependencies to theignoreList
property (third commit). Again I am not sure whether this is the right solution, but it mirrors what is done in the client installations.closes #38